<?php
namespace Member\Controller;
use Think\Controller;
class CartController extends CommonController {
    public function lists(){

        $map['member_id'] = $_SESSION['member']['id'];
        $map['endble'] = 0;// 未下单的商品

        $count = D('Admin/cart')->where($map)->relation(true)->count();// 查询满足要求的总记录数
        $Page = new \Think\Page($count,10);// 实例化分页类 传入总记录数和每页显示的记录数(25)
        // $Page->setConfig('prev','上一页');
        // $Page->setConfig('next','下一页');
        // $Page->setConfig('first','首页');
        // $Page->setConfig('last','最后一页');
        $show = $Page->show();// 分页显示输出// 进行分页数据查询 注意limit方法的参数要使用Page类的属性

        $list = D('Admin/cart')->where($map)->relation(true)->limit($Page->firstRow.','.$Page->listRows)->select();
// print_r($list);die;
        $this->assign('list',$list);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出

        $this->display();
    }

    /**
     * undocumented function
     *
     * @return void
     * @author
     **/
    function add()
    {
        // 判断用户是否登录
        if(empty($_SESSION['member'])){
            $this->error('请先登录',U('Member/member/login'),1);die;
        }

        // 先查询购物车中是否已有一样的商品规格
        $map['member_id'] = $_SESSION['member']['id'];
        $map['spec_rules_id'] = I('post.spec_rules_id');
        $map['endble'] = 0;

        $cart = D('cart')->where($map)->find();

        // 如果查询到一样的商品则修改其购买数  反之重新添加
        if($cart){

            $id = D('cart')->where($map)->setInc('goods_number',I('post.goods_number'));

        }else{
            $_POST['member_id'] = $_SESSION['member']['id'];

            $id = D('cart')->add($_POST);
        }

        if($id){
            $this->success('商品添加成功',U('member/cart/lists'));die;
        }

    }

}